package com.hzit.pay.web.service.strategy;

import com.hzit.pay.web.factory.PayStrategyFactory;
import com.hzit.pay.web.model.PaySerial;
import com.hzit.pay.web.service.IPayStrategyService;
import com.hzit.payweb.api.enums.PayWayEnum;
import com.hzit.payweb.api.resp.RespVo;
import com.hzit.payweb.api.resp.data.PayRespData;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.stereotype.Component;

/**
 * 微信扫码支付
 */
@Component
public class WechatQrCodePayImpl implements IPayStrategyService, InitializingBean {

    private static final Logger logger = LoggerFactory.getLogger(WechatQrCodePayImpl.class);


    @Override
    public RespVo<PayRespData> pay(PaySerial paySerial) {
        logger.info("微信二维码支付");

        //1.封装前置服务的请求参数。

        //2.通过fegin调用前置服务

        //3.拿到前置服务的接口返回

        //4.封装 RespVo<PayRespData>



        return null;

    }

    /**
     * 容器启动的时候，就会初始这个方法
     * @throws Exception
     */
    @Override
    public void afterPropertiesSet() throws Exception {
        System.out.println("-------初始化WechatQrCodePayImpl-------------");

        //存起来
        PayStrategyFactory.concurrentHashMap.put(PayWayEnum.WECHAT_QRCODE_PAY.getCode(),this);

    }
}
